In machine control, a controller, which can be implemented using one or combination of software or hardware, generates commands values for control inputs to a machine based on measurements obtained, e.g., from sensors and/or estimators, from outputs of the machine. The controller selects the input so that the machine operates as desired, for instance, the operation follows a desired reference profile, or regulates the outputs to a specific value. In several cases, the controller enforces constraints on the inputs and outputs of the machine, for instance, ensuring the corresponding variables are in some predetermined ranges to ensure safe machine operation from a physical or functional specification. In order to enforce such constraints, the controller often uses a model of the machine to predict what behavior the machine produces when a command, i.e., a control input, is applied. One example of a process in a controller that is capable of achieving control of a machine while enforcing constraints on the machine inputs and outputs is model predictive control (MPC).
The MPC is based on an iterative, finite horizon optimization of a model of a machine and has the ability to anticipate future events to take appropriate control actions. This is achieved by optimizing the operation of the machine over a future finite time-horizon subject to constraints, and only implementing the control over the current timeslot. For example, the constraints can represent physical limitation of the machine, safety limitations on the operation of the machine, and performance limitations on a trajectory of the machine. A control strategy for the machine is admissible when the motion generated by the machine for such a control strategy satisfies all the constraints. For example, at time t, the current state of the machine is sampled and an admissible cost minimizing control strategy is determined for a relatively short time horizon in the future. Specifically, an online or real-time calculation determines a cost-minimizing control strategy until time t+T. After the first step of the control is implemented, the state is sampled again and the calculations are repeated starting from the now current state, yielding a new control and new predicted state path. The prediction horizon shifts forward, and for this reason MPC is also called receding horizon control.
The MPC can be used to generate the actual trajectory of the motion of the machine based on a model of the system and the desired reference trajectory by solving an optimal control problem over a finite future time subject to various physical and specification constraints of the system. The MPC aims for minimizing performance indices of the motion of the machine, such as an error between a reference and an actual motion of the machine, or the machine energy consumption, or the induced system vibration.
Because the MPC is a model-based framework, the performance of the MPC inevitably depends on the quality of the prediction model used in the optimal control computation. However, in most cases, the model for the machine dynamics is unknown a priori, as some parameters are not measured precisely. Thus, the controller may need to estimate unknown parameters of the model of the machine, during already occurred operation of the machine, and thus, also enforce constraints while the parameters are estimated. The conventional approaches to handle such problems include adaptive or learning-based MPC, where an MPC control problem is augmented with a closed-loop identification scheme in order to learn the unknown machine parameters. By learning the unknown parameters, the operation of the machine achieved by the controller is improved.
However, in a number of applications, it is not possible to determine the precise model of the system off-line. In some of those applications, the model of the system is obtained by means of system identification from collected measurement data and the uncertainty of the model is usually assumed to be normally distributed, see, e.g., U.S. Pat. No. 7,856,281. However, such distribution of the uncertainties of the model results in infinite variations of the model of the system that coupled with the predictive nature of the MPC can lead to suboptimal or even unfeasible solutions, see, e.g., a method described in U.S. Pat. No. 7,376,472.
Accordingly, there is a need for a method for controlling an operation of a machine using the MPC while determining parameters of the model of the machine.